package com.xbongbong.saas.service;

import com.xbongbong.paas.pojo.dto.FormDataAddDTO;
import com.xbongbong.paas.pojo.dto.FormDataAddGetDTO;
import com.xbongbong.paas.pojo.dto.ValidateDataDTO;
import com.xbongbong.paas.pojo.vo.FormDataAddGetVO;
import com.xbongbong.paas.pojo.vo.FormDataAddVO;
import com.xbongbong.paas.toolbox.exception.XbbException;
import com.xbongbong.paas.toolbox.wrap.UserVO;
import com.xbongbong.saas.enums.XbbRefTypeEnum;

import java.util.List;

/**
 * 经销商档案
 * @author xinpeng.jiang
 * @date 2020/12/22 10:25
 * @version 1.0
 * @since V1.0
 */
public interface DistributorFormDataService {

    /**
     * 解释获取
     * @param formDataAddGetDTO
     * @return com.xbongbong.paas.pojo.vo.FormDataAddGetVO
     * @throws XbbException
     * @author xinpeng.jiang
     * @date 2020/12/22 10:26
     * @version 1.0
     */
    FormDataAddGetVO addGet(FormDataAddGetDTO formDataAddGetDTO) throws XbbException;

    /**
     * 新增接口
     * @param formDataAddDTO
     * @return com.xbongbong.paas.pojo.vo.FormDataAddVO
     * @throws XbbException
     * @author xinpeng.jiang
     * @date 2020/12/22 11:14
     * @version 1.0
     */
    FormDataAddVO add(FormDataAddDTO formDataAddDTO) throws XbbException;

    /**
     * 批量添加联系人
     * @param validateDataDTOS
     * @param customerId
     * @param userVO
     * @param attr
     * @param xbbRefTypeEnum
     * @throws XbbException
     */
    void batchAddContact(List<ValidateDataDTO> validateDataDTOS, Long customerId, UserVO userVO, String attr, XbbRefTypeEnum xbbRefTypeEnum) throws XbbException;
}
